package com.victor.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import com.victor.entity.User;
import com.victor.entity.finefood.Food;
import com.victor.entity.happy.Happy;
import com.victor.entity.hotel.Hotel;

@Mapper
public interface TimerDao {

	/**
	 * 查询需要解冻用户(排除冻结状态为0 [终身冻结]的) (解冻时间在当前时间之前的)
	 * 
	 * @return
	 */
	List<User> getFrozenUser();

	/**
	 * 对用户进行解冻
	 * 
	 * @param user
	 * @return
	 */
	@Update({
			"UPDATE user SET frozen='0',frozen_starttime=NULL,frozen_endtime=NULL,frozen_cycle=NULL,frozen_title=NULL,frozen_details=NULL WHERE id=#{userid}" })
	int updateFrozenUsers(@Param("userid") int userid);

	/**
	 * 查询需要解冻宾馆用户(排除冻结状态为0 [终身冻结]的) (解冻时间在当前时间之前的)
	 * 
	 * @return
	 */
	List<Hotel> getFrozenHotel();

	/**
	 * 对宾馆商家进行解冻
	 * 
	 * @param h_id
	 */
	@Update({
			"UPDATE hotel SET h_frozen='0',h_frozen_starttime=NULL,h_frozen_endtime=NULL,h_frozen_cycle=NULL,h_frozen_title=NULL,h_frozen_details=NULL WHERE h_id=#{h_id}" })
	int updateFrozenHotel(@Param("h_id") Integer h_id);

	/**
	 * 查询需要解冻美食商家(排除冻结状态为0 [终身冻结]的) (解冻时间在当前时间之前的)
	 * 
	 * @return
	 */
	List<Food> getFrozenFood();

	/**
	 * 对美食商家进行解冻
	 * 
	 * @param f_id
	 */
	@Update({
			"UPDATE food SET f_frozen='0',f_frozen_starttime=NULL,f_frozen_endtime=NULL,f_frozen_cycle=NULL,f_frozen_title=NULL,f_frozen_details=NULL WHERE f_id=#{f_id}" })
	int updateFrozenFood(@Param("f_id") Integer f_id);

	/**
	 * 查询需要解冻娱乐商家(排除冻结状态为0 [终身冻结]的) (解冻时间在当前时间之前的)
	 * 
	 * @return
	 */
	List<Happy> getFrozenHappy();

	/**
	 * 对娱乐商家进行解冻
	 * 
	 * @param h_id
	 */
	@Update({
			"UPDATE happy SET h_frozen='0',h_frozen_starttime=NULL,h_frozen_endtime=NULL,h_frozen_cycle=NULL,h_frozen_title=NULL,h_frozen_details=NULL WHERE h_id=#{h_id}" })
	int updateFrozenHappy(@Param("h_id") Integer h_id);

}
